// nodejs是一个事件驱动的
// 使用nodejs内置的http模块完成 web服务器 tcp
const http = require('http')
// 得到一个webserver对象
const server = http.createServer();

// 监听客户发送过来的请求
// request 获取客户端请求对象， 浏览型号、访问当前的url
// response 响应对象  服务对客户端的响应
server.on('request', (request, response) => {
  // 获取当前的url地址,不带协议和域名
  console.log(request.url);
  // 获取当前的请求方法 GET/POST 返回的字符串是大写
  console.log(request.method);
  // 获取请求头信息 得到是一个对象
  console.log(request.headers);
  // 浏览器型号  有中横线的头属性，则使用 数组的方案完成数据获取
  console.log(request.headers['user-agent']);

  console.log('客户有请求');

  // 响应头信息
  // response.statusCode = 404
  response.setHeader('content-type', 'text/html;charset=utf-8')

  // 服务器对客户端本次请求的响应
  response.end('你好世界')
});

// 绑定主机和端口
// 参数1：绑定的端口号
// 参数2：可选，绑定服务器中的网卡 127.0.0.1只能本机访问 0.0.0.0绑定本机中所有的网卡,如果不写以ipv6的方式让所有的网卡绑定上，缺点获取的ip地址，将不对
server.listen(3000, '127.0.0.1', () => console.log('服务器启动'))


